package com.mrjy.share.controller;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.mrjy.common.entity.DistributorTeamInfo;
import com.mrjy.share.bo.IDistributorTeamInfoBo;
import com.mrjy.share.dto.DistributorTeamInfoDTO;
/**
 * 分销商 团队controller
 * @author csshui
 *
 */
@Controller
@RequestMapping("/share/DistributorTeamInfo")
public class DistributorTeamInfoController {
	
	@Resource
	private IDistributorTeamInfoBo distributorTeamInfoBo;
	

	/**
	 * 根据user_id查询团队列表
	 * @param dto.distributorId 分销商id; dto.auditStatus 审核状态（不传则查全部）
	 * @return
	 */
	@RequestMapping("/queryListByBelongTeamId")
	@ResponseBody
	public Object queryListByBelongTeamId(DistributorTeamInfoDTO dto){
		return distributorTeamInfoBo.queryListByBelongTeamId(dto);
	}
	
	/**
	 * 根据user_id查询邀请记录
	 * @param dto.distributorId 分销商id; dto.auditStatus 审核状态（不传则查全部）
	 * @return
	 */
	@RequestMapping("/queryInviteRecord")
	@ResponseBody
	public Object queryInviteRecord(DistributorTeamInfoDTO dto){
		return distributorTeamInfoBo.queryInviteRecord(dto);
	}
	
	/**
	 * 新增分销商成员
	 * @param info.userName,info.mobilePhone, info.realName, info.distributorId
	 * @return
	 */
	@RequestMapping("/invitedByDistributor")
	@ResponseBody
	public Object invitedByDistributor(DistributorTeamInfoDTO info,HttpSession session){
		return distributorTeamInfoBo.txInvitedByDistributor(info,session);
	}
	
	/**
	 * 通过用户id查询被邀请的状态，如果还没接受邀请，则返回邀请的所有信息
	 * @param 
	 * @return
	 */
	@RequestMapping("/isInvitedByUserId")
	@ResponseBody
	public Object isInvitedByUserId(DistributorTeamInfoDTO info,HttpSession session){
		return distributorTeamInfoBo.isInvitedByUserId(info,session);
	}
	
	/**
	 * 通过用户id处理被邀请的状态，如果同意，把当前记录设置为同意，把其他的邀请全部设置为拒绝；如果拒绝，则把当前记录设置为拒绝
	 * @param info.userId info.auditStatus, info.id
	 * @return
	 */
	@RequestMapping("/optInvited")
	@ResponseBody
	public Object optInvited(DistributorTeamInfoDTO info,HttpSession session){
		return distributorTeamInfoBo.txOptInvited(info,session);
	}
	
	/**
	 * 通过用户名称和手机号码校验是否正确
	 * @param info. info.mobilePhone info.userName 
	 * @return
	 */
	@RequestMapping("/isCaninvited")
	@ResponseBody
	public Object isCaninvited(DistributorTeamInfoDTO info){
		return distributorTeamInfoBo.isCaninvited(info);
	}
	
	/**
	 * 判断用户是否可以继续邀请  （当邀请中+邀请成功的成员之和等于10时，不能再邀请）
	 * @param info
	 * @return
	 */
	@RequestMapping("/isCanInvite")
	@ResponseBody
	public Object isCanInvite(DistributorTeamInfo info){
		return distributorTeamInfoBo.isCanInvite(info);
	}
	
	
	/**
	 * 判断用户是否可以继续邀请  （当邀请中+邀请成功的成员之和等于10时，不能再邀请）
	 * @param info
	 * @return
	 */
	@RequestMapping("/add")
	@ResponseBody
	public Object addByDistributor(DistributorTeamInfoDTO info){
		return distributorTeamInfoBo.addByDistributor(info);
	}
	
	
}
